package fr.pascal;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class DoSomething extends AbstractController {

	public ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		// début
		long début = new Date().getTime();
		
		// attente
		Thread.sleep(10);
		
		// on récupère le bean groupe
		Groupe groupe = (Groupe) getWebApplicationContext().getBean("groupe");
		
		// on code le HTML en dur
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		
		// on prépare le code HTML
		String Html = "<html><head><title>Spring-MVC-07</title></head><body>";
		
		// on parcourt la liste des membres du groupe
		ArrayList<String> membres = groupe.getMembres();
		for (int i = 0; i < membres.size(); i++) {
			Html += membres.get(i).toString() + "<br>\n";
		}
		
		// fin
		long fin = new Date().getTime();
		
		// durée
		long durée = fin - début;
		Html += "<br>DoSomething exécuté en " + durée + " ms...</body></html>";
		
		// on envoie le flux HTML
		out.println(Html);
		
		// pas de ModelAndView
		return null;
	}
}